package com.ciaojian.miniapp.enums;

/**
 * 小程序接口枚举
 *
 * @author Atlakyn
 */
public enum MiniAppApiType {

    /**
     * 登录凭证校验。通过 wx.login 接口获得临时登录凭证 code 后传到开发者服务器调用此接口完成登录流程
     */
    code2session("https://api.weixin.qq.com/sns/jscode2session", MethodType.GET),

    /**
     * 订阅消息发送
     */
    SUBSCRIBE_MESSAGE_SEND("https://api.weixin.qq.com/cgi-bin/message/subscribe/send", MethodType.POST),


    /**
     * 接口调用凭证
     */
    ACCESS_TOKEN("https://api.weixin.qq.com/cgi-bin/token", MethodType.GET),

    /**
     * 获取小程序 URL Link，适用于短信、邮件、网页、微信内等拉起小程序的业务场景。
     * 通过该接口，可以选择生成到期失效和永久有效的小程序链接，目前仅针对国内非个人主体的小程序开放，
     * 详见获取 URL Link(https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/url-link.html)。
     */
    URLLINK_GENERATE("https://api.weixin.qq.com/wxa/generate_urllink", MethodType.POST),

    /**
     * 请求分账
     */
    PROFIT_SHARING("https://api.mch.weixin.qq.com/v3/profitsharing/orders", MethodType.POST),

    /**
     * 获取小程序码，适用于需要的码数量极多的业务场景
     */
    QR_CODE_UNLIMITED("https://api.weixin.qq.com/wxa/getwxacodeunlimit", MethodType.POST),

    ;

    /**
     * 类型
     */
    private final String url;

    private MethodType methodType;

    MiniAppApiType(String url, MethodType methodType) {
        this.url = url;
        this.methodType = methodType;
    }

    public String getUrl() {
        return url;
    }

    public MethodType getMethodType() {
        return methodType;
    }
}
